<?php

require_once('../krn_table.php');
require_once('../commons_constantes.php');
require_once('../commons_utils.php');

tableDefinition
	(TABLE_DEFINITION
	,'tblMarie'
	,WEDDING_DBNAME
	,'MARIE'
	,array
		('ID'
		,'CIVILITE'
		,'NOM'
		,'PRENOM'
		,'EMAIL'
		,'TELEPHONE_FR'
		,'DATE_INSERTION'
		,'DATE_MAJ'
		)
	);
	
/***********************************************************************************************************
 * Définition des fonctions d'interactions
 ***********************************************************************************************************/

/**
 * Permet d'ajouter un marié dans la base de données
 * @param string $civilite civilité d'un des mariés
 * @param string $nomMarie nom d'un des mariés
 * @param string $prenomMarie prénom d'un des mariés
 * @param string $emailMarie email d'un des mariés
 * @param string $telephone numérod de téléphone d'un des mariés
 * @return int : identifiant du marié inséré
 */
function ajouterMarie
	($civilite
	,$nomMarie
	,$prenomMarie
	,$emailMarie
	,$telephone=null
	) 
{
	$dateInsert = gmdate('c');
	$idInserted = insert
					('tblMarie'
					,array
						('CIVILITE'			=> '?'
						,'NOM'				=> '?'
						,'PRENOM'			=> '?'
						,'EMAIL'			=> '?'
						,'TELEPHONE_FR'		=> '?'
						,'DATE_INSERTION'	=> '?'
						,'DATE_MAJ'			=> '?'
						)
					,array
						($civilite
						,htmlEncode($nomMarie)
						,htmlEncode($prenomMarie)
						,htmlEncode($emailMarie)
						,parserTelephoneFr($telephone)
						,$dateInsert
						,$dateInsert
						)
					);
	return $idInserted;
}

/**
 * Retourne le tableau associatif du ou de la mariée d'identifiant $idMarie.<br />
 * Retourne un tableau vide si le ou la mariée d'identifiant $idMarie n'existe pas
 * @param $idMarie identifiant du ou de la mariée
 * @return array : un tableau vide ou associatif nom de colonne - valeur
 * @throws Exception : code 406 (plusieurs ressources)
 */
function getMarie($idMarie) {
	$marie = select('tblMarie', '*', 'WHERE ID = ?', array($idMarie));
	if (count($marie) > 1) {
		throw new Exception('Plusieurs marié(e)s d\'identifiant '.$idMarie.' ont été retournés', ERR_NOT_ACCEPTABLE);
	} elseif (count($marie) == 1) {
		return $marie[0];
	}
	return $marie; 
}
